---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.14.0
  name: providers.meta.pkg.crossplane.io
spec:
  group: meta.pkg.crossplane.io
  names:
    kind: Provider
    listKind: ProviderList
    plural: providers
    singular: provider
  scope: Namespaced
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: A Provider is the description of a Crossplane Provider package.
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: ProviderSpec specifies the configuration of a Provider.
            properties:
              controller:
                description: Configuration for the packaged Provider's controller.
                properties:
                  image:
                    description: Image is the packaged Provider controller image.
                    type: string
                  permissionRequests:
                    description: |-
                      PermissionRequests for RBAC rules required for this provider's controller
                      to function. The RBAC manager is responsible for assessing the requested
                      permissions.
                    items:
                      description: |-
                        PolicyRule holds information that describes a policy rule, but does not contain information
                        about who the rule applies to or which namespace the rule applies to.
                      properties:
                        apiGroups:
                          description: |-
                            APIGroups is the name of the APIGroup that contains the resources.  If multiple API groups are specified, any action requested against one of
                            the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
                          items:
                            type: string
                          type: array
                        nonResourceURLs:
                          description: |-
                            NonResourceURLs is a set of partial urls that a user should have access to.  *s are allowed, but only as the full, final step in the path
                            Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
                            Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"),  but not both.
                          items:
                            type: string
                          type: array
                        resourceNames:
                          description: ResourceNames is an optional white list of
                            names that the rule applies to.  An empty set means that
                            everything is allowed.
                          items:
                            type: string
                          type: array
                        resources:
                          description: Resources is a list of resources this rule
                            applies to. '*' represents all resources.
                          items:
                            type: string
                          type: array
                        verbs:
                          description: Verbs is a list of Verbs that apply to ALL
                            the ResourceKinds contained in this rule. '*' represents
                            all verbs.
                          items:
                            type: string
                          type: array
                      required:
                      - verbs
                      type: object
                    type: array
                type: object
              crossplane:
                description: Semantic version constraints of Crossplane that package
                  is compatible with.
                properties:
                  version:
                    description: Semantic version constraints of Crossplane that package
                      is compatible with.
                    type: string
                required:
                - version
                type: object
              dependsOn:
                description: Dependencies on other packages.
                items:
                  description: Dependency is a dependency on another package. One
                    of Provider or Configuration may be supplied.
                  properties:
                    configuration:
                      description: Configuration is the name of a Configuration package
                        image.
                      type: string
                    function:
                      description: Function is the name of a Function package image.
                      type: string
                    provider:
                      description: Provider is the name of a Provider package image.
                      type: string
                    version:
                      description: Version is the semantic version constraints of
                        the dependency image.
                      type: string
                  required:
                  - version
                  type: object
                type: array
            required:
            - controller
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: A Provider is the description of a Crossplane Provider package.
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: ProviderSpec specifies the configuration of a Provider.
            properties:
              controller:
                description: Configuration for the packaged Provider's controller.
                properties:
                  image:
                    description: Image is the packaged Provider controller image.
                    type: string
                  permissionRequests:
                    description: |-
                      PermissionRequests for RBAC rules required for this provider's controller
                      to function. The RBAC manager is responsible for assessing the requested
                      permissions.
                    items:
                      description: |-
                        PolicyRule holds information that describes a policy rule, but does not contain information
                        about who the rule applies to or which namespace the rule applies to.
                      properties:
                        apiGroups:
                          description: |-
                            APIGroups is the name of the APIGroup that contains the resources.  If multiple API groups are specified, any action requested against one of
                            the enumerated resources in any API group will be allowed. "" represents the core API group and "*" represents all API groups.
                          items:
                            type: string
                          type: array
                        nonResourceURLs:
                          description: |-
                            NonResourceURLs is a set of partial urls that a user should have access to.  *s are allowed, but only as the full, final step in the path
                            Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
                            Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"),  but not both.
                          items:
                            type: string
                          type: array
                        resourceNames:
                          description: ResourceNames is an optional white list of
                            names that the rule applies to.  An empty set means that
                            everything is allowed.
                          items:
                            type: string
                          type: array
                        resources:
                          description: Resources is a list of resources this rule
                            applies to. '*' represents all resources.
                          items:
                            type: string
                          type: array
                        verbs:
                          description: Verbs is a list of Verbs that apply to ALL
                            the ResourceKinds contained in this rule. '*' represents
                            all verbs.
                          items:
                            type: string
                          type: array
                      required:
                      - verbs
                      type: object
                    type: array
                type: object
              crossplane:
                description: Semantic version constraints of Crossplane that package
                  is compatible with.
                properties:
                  version:
                    description: Semantic version constraints of Crossplane that package
                      is compatible with.
                    type: string
                required:
                - version
                type: object
              dependsOn:
                description: Dependencies on other packages.
                items:
                  description: Dependency is a dependency on another package. One
                    of Provider or Configuration may be supplied.
                  properties:
                    configuration:
                      description: Configuration is the name of a Configuration package
                        image.
                      type: string
                    function:
                      description: Function is the name of a Function package image.
                      type: string
                    provider:
                      description: Provider is the name of a Provider package image.
                      type: string
                    version:
                      description: Version is the semantic version constraints of
                        the dependency image.
                      type: string
                  required:
                  - version
                  type: object
                type: array
            required:
            - controller
            type: object
        required:
        - spec
        type: object
    served: true
    storage: false
